package persistencia;

import java.sql.ResultSet;
import java.sql.SQLException;

import logica.Persona;
import excepciones.DAOExcepcion;

public class PersonaDAOImp extends GenericHSQLDB implements IPersonaDAO {

	public PersonaDAOImp() throws DAOExcepcion {
		super();
	}

	@Override
	public void crearPersona(Persona p) throws DAOExcepcion {
		try {
			connManager.connect();
			connManager.updateDB("insert into PERSONA (NIF, NOMBRE, APELLIDOS) values ('" + p.getNif() + "', '"
					+ p.getNombre() + "', '" + p.getApellidos() + "')");
			connManager.close();
		} catch (DAOExcepcion e) {
			throw e;
		}
	}

	@Override
	public Persona encontrarPersonaPorNif(String nif) throws DAOExcepcion {
		try {
			connManager.connect();
			ResultSet rs = connManager.queryDB("select NOMBRE, APELLIDOS from PERSONA where NIF= '" + nif + "'");
			connManager.close();
			try {
				if (rs.next())
					return new Persona(nif, rs.getString("NOMBRE"), rs.getString("APELLIDOS"));
				else
					return null;
			} catch (SQLException e) {
				throw new DAOExcepcion("DB_READ_ERROR");
			}

		} catch (DAOExcepcion e) {
			throw e;
		}

	}

}
